package cn.com.header.zbpk.account.entity;

import cn.com.header.zbpk.account.model.UserType;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 用户信息
 *
 * @author luohaidian
 * @date 2017-11-14
 * @time 09:28
 */
@Getter
@Setter
@ToString
public class User implements Serializable {

    /**
     * 用户id
     */
    private Long id;

    /**
     * 用户名
     */
    private String username;

    /**
     * 用户密码
     */
    private String password;

    /**
     * 密码更新标记
     */
    private Boolean passwordUpdated;

    /**
     * 账号禁用标记
     */
    private Boolean enabled;

    /**
     * 用户真实名
     */
    private String name;

    /**
     * 用户电话号码
     */
    private String telephone;

    /**
     * 编号(教师-工号，学生-学号)
     */
    private String jobNumber;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 创建人id
     */
    private Long creatorId;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 最后一次禁用时间
     */
    private LocalDateTime lastDisableTime;

    /**
     * 学段ID
     * @see cn.com.header.zbpk.base.entity.Section#id
     */
    private Long sectionId;

    /**
     * 年级ID
     * @see cn.com.header.zbpk.base.entity.Grade#id
     */
    private Long gradeId;

    /**
     * 用户身份
     */
    private UserType userType;

    /**
     * 学校Id
     */
    private Long schoolId;

    /**
     * 是否是学籍生
     */
    private Boolean isSchooled;

    public User(){

    }

    public User(Long id){
        this.id = id;
    }

}
